import sqlite3

def create_config_table():
    # 连接到数据库，若不存在则会创建
    conn = sqlite3.connect('trade_monitor.db')
    cursor = conn.cursor()

    # 创建 config 表
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS config (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            key TEXT NOT NULL UNIQUE,  -- 配置项的键，唯一标识
            value TEXT NOT NULL,       -- 配置项的值
            description TEXT,          -- 配置项的描述信息
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  -- 最后更新时间
        )
    ''')

    # 提交更改并关闭连接
    conn.commit()
    conn.close()

def initialize_config():
    """
    对 config 表进行初始项的初始化
    """
    conn = sqlite3.connect('trade_monitor.db')
    cursor = conn.cursor()
    initial_configs = [
        ("open_auto", "on", "是否允许自动开仓，on允许,off不允许")
    ]
    for key, value, description in initial_configs:
        try:
            cursor.execute(
                "INSERT INTO config (key, value, description) VALUES (?,?,?)",
                (key, value, description)
            )
        except sqlite3.IntegrityError:
            # 若键已存在，忽略插入操作
            pass
    conn.commit()
    conn.close()

if __name__ == '__main__':
    # 调用函数创建表
    create_config_table()
    # 调用函数初始化配置
    initialize_config()